#include "stm32f10x.h"                  // Device header
#include "OLED.h"
#include "Delay.h"
#include "Key.h"
#include "Servo.h"
#include "Encoder.h"

float Angle = 0;

int main(void)
{
	OLED_Init();
	Encoder_Init();
	Servo_Init();
	Key_Init(RCC_APB2Periph_GPIOB, GPIOB, GPIO_Pin_1);
	OLED_ShowString(1, 1, "Angle=");
	
	while(1)
	{
		Angle += Get_Change();
		
		if (Angle > 180)
		{
			Angle = 0;
		}
		else if(Angle < 0)
		{
			Angle = 0;
		}

		if (Key_NO_OFF(GPIOB, GPIO_Pin_1) == 1)
		{
			Angle += 30;
			if(Angle > 180)
			{
				Angle = 0;
			}
		}
		
		Servo_SetAngle(Angle);
		OLED_ShowSignedNum(1, 7, Angle, 3);
	}
}
